The present invention relates to a method of sharing a three-dimensional virtual reality space, a system of sharing a three-dimensional virtual reality space, a method of information processing, an information recording medium, a method of information recording, an information transmission medium, a method of information transmission, a client terminal, and a shared server terminal and, more particularly, to a method of sharing a three-dimensional virtual reality space, a system of sharing a three-dimensional virtual reality space, a method of information processing, an information recording medium, a method of information recording, an information transmission medium, a method of information transmission, a client terminal, and a shared server terminal which are suitable for generating a virtual reality space for example to be provided to users.
A cyberspace service named Habitat (trademark) is known in the so-called personal computer communications services such as NIFTY-Serve (trademark) of Japan and CompuServe (trademark) of the US in which a plurality of users connect their personal computers via modems and the public telephone network to the host computers installed at the centers of the services to access them in predetermined protocols. Development of Habitat started in 1985 by Lucas Film of the US, operated by Quantum Link, one of the US commercial networks, for about three years. Then, Habitat started its service in NIFTY-Serve as Fujitsu Habitat (trademark) in February 1990 . In Habitat, users can send their alter egos called avatars (the incarnation of a god figuring in the Hindu mythology) into a virtual city called Populopolis drawn by two-dimensional graphics to have a chat (namely, a realtime conversation based on text entered and displayed) with each other. For further details of Habitat, refer to the Japanese translation of xe2x80x9cCyberspace: First Steps,xe2x80x9d Michael Benedikt, ed., 1991, MIT Press Cambridge, Mass., ISBN0-262-02327-X, the translation being published Mar. 20, 1994, by NTT Publishing, ISBN4-87188-265-9C0010, pp. 282-307.
In the related art cyberspace system operated on such personal communications servers as mentioned above, a virtual street, a virtual room interior, and the like are drawn in two-dimensional graphics. In such an environment, movement of an avatar backward or forward is realized simply by moving it up or down in a two-dimensional background, providing poor representation for enabling the user to experience walking or movement in the virtual space. Because this scheme makes the user look at the virtual space in which the user""s avatar and another user""s avatar are shown from the viewpoint of a third person, the sense of the pseudo experience is marred to a large extent. Therefore, realization of the walk-through capability has been awaited by the industry concerned, in which the virtual space is displayed in three-dimensional graphics and an avatar can walk freely in the virtual space from the viewpoint of avatar itself, thus enhancing the sense of pseudo experience.
On the other hand, for a related art example for realizing the sharing of a three-dimensional virtual reality space on a network, a system of FIG. 42 is known which is constituted by client terminals 3-1 through 3-3 interconnected by the LAN (Local Area Network) installed in companies or laboratories.
First, all client terminals 3-1 through 3-3 read graphics data from a storage device 2 of a server terminal 1 that describes the same three-dimensional space to display the same three-dimensional space. At this point of time, the three-dimensional spaces visually recognized by all users match each other. Namely, the client terminals 3-1 through 3-3 show three-dimensional images according to the viewpoints of the users of these terminals as shown in FIGS. 43 A through 43 C. In this example, a triangular pyramidal object 101, a quadrangular prism object 102, and a cylindrical object 103.
Meanwhile, if, at a client terminal 3-1, the user changed positions of the conical object 101, information about the change (change information) is sent from the client terminal 3-1 to the server 1 via a LAN 4. The change information about the movement is then transmitted from the server terminal 1 via the LAN 4 to the client terminals 3-2 and 3-3. Then, on the client terminals 3-2 and 3-3, the display position of the conical object is changed according to the change information transmitted from the client terminal 3-1.
Likewise, when, on the client terminal 3-2 or 3-3, an operation is made to move the quadrangular prism object 102 or the cylindrical object 103, an image in which the quadrangular prism object 102 or the cylindrical object 103 has been moved accordingly is displayed on the client terminal 3-1.
To be more specific, when a change is made to the virtual reality space on any of the client terminals 3-1 through 3-3, the change is reflected in the display of the other client terminals, thereby allowing the users of the client terminals 3-1 through 3-3 to share the same virtual reality space.
The above-mentioned objects 101 through 103 and avatar objects representing the users can be moved within a virtual reality space and made to enter or exit the virtual reality space, the states of the objects being changed (or updated) inside the virtual reality space. The objects that can change their states are hereinafter appropriately referred to as update objects. Unlike the update objects, objects representing buildings for example which constitute a town in a virtual reality space are commonly used by a plurality of users, the basic states of such objects remaining unchanged. Even if their states change, such a change is autonomous; namely, the change takes place independently of the operation made on a client terminal. These objects which are used by a plurality of users are hereinafter appropriately referred to as basic objects.
Meanwhile, in the system for sharing a three-dimensional virtual reality space by using the LAN as shown in FIG. 42, if objects 101 through 103 each having a simple shape consisting of a single object as shown in FIG. 43, it can be implemented by transferring the identification numbers of the objects 101 through 103 and the update information including shift vectors of the objects 101 through 103 for example.
However, moving an object having a complex shape consisting of a plurality of sub objects has to transfer the identification number and update information of each sub object separately, thereby increasing the traffic through the LAN and delaying the transmission of each update information, resulting in a mismatch between the movements of the objects displayed on the client terminals 3-1 through 3-3, a delay in a plurality of sub objects, and eventually in a jerky movement in a series of interlocking operations as an object in its entirety.
For example, FIG. 44 shows principles of operation of representing the walking behavior of an avatar simulating a user in a three-dimensional virtual reality space. In this example, the avatar object is constituted by a total of five sub objects; a body including a head, a right arm, a left arm, a right leg, and a left leg. To make the hands and the legs of this avatar swing to provide a walk behavior along with the movement of this avatar, it is required to transmit the update information at least including the shift vector of the body sub object, the shift vectors of the right-arm, left-arm, right-leg and left-leg sub objects, and the fluctuation angle from the axis provided by the joint to the body, along with the identification numbers of the sub objects.
Consequently, the number of sub objects constituting each object increases. Therefore, as a movement involving more complex operations is expressed, the volume of communication for transmitting the update information of objects increases, thereby increasing the load to the server terminal 1 and decreasing the smoothness of the display of the movement of the object represented by the cooperative operations of the sub objects.
It is therefore an object of the present invention to provide a method of sharing a three-dimensional virtual reality space, a three-dimensional virtual reality space sharing system, a method of information processing, an information recording medium, a method of information recording, an information transmission medium, a method of information transmission, a client terminal, and a server terminal for transmitting, in a minimum quantity, the update information of an update object composed of sub objects of which states are subject to change and smoothly displaying a cooperative operation of these sub objects in a three-dimensional virtual reality space shared by a plurality of users.
In carrying out the invention and according to a first aspect thereof, a method of sharing a three-dimensional virtual reality space comprising the steps of: connecting a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network; registering in each of the plurality of client terminals in advance a change sequence table for defining a relationship between a sequence of changing the state of each of the plurality of sub objects according to a change to the state of the update object and a message for specifying a type of the change sequence; when the state of the update object controlled by the shared server terminal is updated, notifying each of the plurality of client terminals of the message corresponding to the updated content of the state of the update object from the shared server terminal; and changing on each of the plurality of client terminals the state of each of the plurality of sub objects based on the change sequence specified by the message to reflect the change in the displayed three-dimensional virtual reality space.
In carrying out the invention and according to a second aspect thereof, there is provided a system of sharing a three-dimensional virtual reality space comprising: a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change; a shared server terminal for controlling a state of the update object on each of the plurality of client terminals; a communication network for connecting each of the plurality of client terminals to the shared server terminal; and a change sequence table for defining a relationship between a change sequence of the state of each of the sub objects corresponding to update content of the state of the update object and a message for specifying a type of the change sequence, the change sequence table being registered in each of the plurality of client terminals in advance; wherein, when the state of the update object controlled by the shared server terminal is updated, the shared server terminal notifies each of the plurality of client terminals of the message corresponding to the updated content of the state of the update object, and each of the client terminals changes the state of each of the plurality of sub objects based on the change sequence specified by the message to reflect the change in the displayed three-dimensional virtual reality space.
In carrying out the invention and according to a third aspect thereof, there is provided an information recording medium for use in a three-dimensional virtual reality space sharing system to record a computer program comprising the processing steps of: connecting a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network; registering in each of the plurality of client terminals in advance a change sequence table for defining a relationship between a sequence of changing the state of each of the plurality of sub objects according to a change to the state of the update object and a message for specifying a type of the change sequence; when the state of the update object controlled by the shared server terminal is updated, notifying each of the plurality of client terminals of the message corresponding to the updated content of the state of the update object from the shared server terminal; and changing on each of the plurality of client terminals the state of each of the plurality of sub objects based on the change sequence specified by the message to reflect the change in the displayed three-dimensional virtual reality space; wherein the computer program is readable and executable by at least one of the terminals consisting of the shared server terminal and the plurality of client terminals.
In carrying out the invention and according to a fourth aspect thereof, there is provided an information recording method for use in a three-dimensional virtual reality sharing system to record a computer program in an information recording medium, the computer program comprising the processing steps of: connecting a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network; registering in each of the plurality of client terminals in advance a change sequence table for defining a relationship between a sequence of changing the state of each of the plurality of sub objects according to a change to the state of the update object and a message for specifying a type of the change sequence; when the state of the update object controlled by the shared server terminal is updated, notifying each of the plurality of client terminals of the message corresponding to the updated content of the state of the update object from the shared server terminal; and changing on each of the plurality of client terminals the state of each of the plurality of sub objects based on the change sequence specified by the message to reflect the change in the displayed three-dimensional virtual reality space; wherein the computer program is readable and executable by at least one of the terminals consisting of the shared server terminal and the plurality of client terminals.
In carrying out the invention and according to a fifth aspect thereof, there is provided an information transmission medium for use in a three-dimensional virtual reality space sharing system to transmit a computer program comprising the processing steps of. connecting a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network; registering in each of the plurality of client terminals in advance a change sequence table for defining a relationship between a sequence of changing the state of each of the plurality of sub objects according to a change to the state of the update object and a message for specifying a type of the change sequence; when the state of the update object controlled by the shared server terminal is updated, notifying each of the plurality of client terminals of the message corresponding to the updated content of the state of the update object from the shared server terminal; and changing on each of the plurality of client terminals the state of each of the plurality of sub objects based on the change sequence specified by the message to reflect the change in the displayed three-dimensional virtual reality space; wherein the computer program is readable and executable by at least one of the terminals consisting of the shared server terminal and the plurality of client terminals and the executable computer program is transmitted to at least one of the terminals consisting of the shared server terminal and the plurality of client terminals.
In carrying out the invention and according to a sixth aspect thereof, there is provided an information transmission method for use in a three-dimensional virtual reality space sharing system to transmit a computer program comprising the processing steps of: connecting a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network; registering in each of the plurality of client terminals in advance a change sequence table for defining a relationship between a sequence of changing the state of each of the plurality of sub objects according to a change to the state of the update object and a message for specifying a type of the change sequence; when the state of the update object controlled by the shared server terminal is updated, notifying each of the plurality of client terminals of the message corresponding to the updated content of the state of the update object from the shared server terminal; and changing on each of the plurality of client terminals the state of each of the plurality of sub objects based on the change sequence specified by the message to reflect the change in the displayed three-dimensional virtual reality space; wherein the computer program is readable and executable by at least one of the terminals consisting of the shared server terminal and the plurality of client terminals and the executable computer program is transmitted to at least one of the terminals consisting of the shared server terminal and the plurality of client terminals.
In carrying out the invention and according to a seventh aspect thereof, there is provided an information processing method of a client terminal in a three-dimensional virtual reality space sharing system in which a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change are connected to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network, the information processing method comprising the steps of: registering in each of the plurality of client terminals in advance a change sequence table for defining a relationship between a sequence of changing the state of each of the plurality of sub objects according to a change to the state of the update object and a message for specifying a type of the change sequence; acquiring the message corresponding to the update content of the state of the update object, the message being notified from the shared server terminal when the state of the update object controlled by the shared server terminal is updated; and changing the state of each of the plurality of sub objects based on the change sequence specified by the message to reflect the change in the displayed three-dimensional virtual reality space.
In carrying out the invention and according to an eighth aspect thereof, there is provided a client terminal in a three-dimensional virtual reality space sharing system in which a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change are connected to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network, the client terminal comprising: a registering means for registering in each of the plurality of client terminals in advance a change sequence table for defining a relationship between a sequence of changing the state of each of the plurality of sub objects according to a change to the state of the update object and a message for specifying a type of the change sequence; an acquiring means for acquiring the message corresponding to the update content of the state of the update object, the message being notified from the shared server terminal when the state of the update object controlled by the shared server terminal is updated; and a changing means for changing the state of each of the plurality of sub objects based on the change sequence specified by the message to reflect the change in the displayed three-dimensional virtual reality space.
In carrying out the invention and according to a ninth aspect thereof, there is provided an information recording medium for use in a client terminal in a three-dimensional virtual reality space sharing system to record a computer program comprising the processing steps of: registering in each of the plurality of client terminals in advance a change sequence table for defining a relationship between a sequence of changing the state of each of the plurality of sub objects according to a change to the state of the update object and a message for specifying a type of the change sequence; acquiring the message corresponding to the update content of the state of the update object, the message being notified from the shared server terminal when the state of the update object controlled by the shared server terminal is updated; and changing the state of each of the plurality of sub objects based on the change sequence specified by the message to reflect the change in the displayed three-dimensional virtual reality space; wherein the computer program is recorded in the information recording medium in a state readable and executable by the client terminal.
In carrying out the invention and according to a tenth aspect thereof, there is provided an information recording method of a recording medium for use on a client terminal in a three-dimensional virtual reality space sharing system to record a computer program comprising the processing steps of: registering in each of the plurality of client terminals in advance a change sequence table for defining a relationship between a sequence of changing the state of each of the plurality of sub objects according to a change to the state of the update object and a message for specifying a type of the change sequence; acquiring the message corresponding to the update content of the state of the update object, the message being notified from the shared server terminal when the state of the update object controlled by the shared server terminal is updated; and changing the state of each of the plurality of sub objects based on the change sequence specified by the message to reflect the change in the displayed three-dimensional virtual reality space; wherein the computer program is recorded in the recording medium in a state readable and executable by the client terminal.
In carrying out the invention and according to an eleventh aspect thereof, there is provided an information transmission medium for use on a client terminal in a three-dimensional virtual reality space sharing system in which a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change are connected to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network, the information transmission method transmitting a computer program comprising the processing steps of: registering in each of the plurality of client terminals in advance a change sequence table for defining a relationship between a sequence of changing the state of each of the plurality of sub objects according to a change to the state of the update object and a message for specifying a type of the change sequence; acquiring the message corresponding to the update content of the state of the update object, the message being notified from the shared server terminal when the state of the update object controlled by the shared server terminal is updated; and changing the state of each of the plurality of sub objects based on the change sequence specified by the message to reflect the change in the displayed three-dimensional virtual reality space; wherein the computer program is transmitted to the client terminal in a state receivable and executable by the same.
In carrying out the invention and according to a twelfth aspect thereof, there is provided an information transmission method for use on a client terminal in a three-dimensional virtual reality space sharing system in which a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change are connected to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network, the information transmission method transmitting a computer program comprising the processing steps of: registering in each of the plurality of client terminals in advance a change sequence table for defining a relationship between a sequence of changing the state of each of the plurality of sub objects according to a change to the state of the update object and a message for specifying a type of the change sequence; acquiring the message corresponding to the update content of the state of the update object, the message being notified from the shared server terminal when the state of the update object controlled by the shared server terminal is updated; and changing the state of each of the plurality of sub objects based on the change sequence specified by the message to reflect the change in the displayed three-dimensional virtual reality space; wherein the computer program is transmitted to the client terminal in a state receivable and executable by the same.
In carrying out the invention and according to a thirteenth aspect thereof, there is provided an information processing method of a shared server terminal in a three-dimensional virtual reality space sharing system in which a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change are connected to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network, the information processing method comprising the steps of: determining an update of the state of the update object controlled by the shared server terminal; and when the state of the update object is updated, notifying each of the plurality of client terminals a message specifying a type of a change sequence of each of the plurality of sub objects corresponding to the updated content of the state of the update object from the shared server terminal.
In carrying out the invention and according to a fourteenth aspect thereof, there is provided a shared server terminal in a three-dimensional virtual reality space sharing system in which a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change are connected to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network, the shared server terminal comprising: a determining means for determining an update of the state of the update object controlled by the shared server terminal; and when the state of the update object is updated, a notifying means for sending each of the plurality of client terminals a message specifying a type of a change sequence of each of the plurality of sub objects corresponding to the updated content of the state of the update object from the shared server terminal.
In carrying out the invention and according to a fifteen aspect thereof, there is provided an information recording medium for use on a shared server terminal in a three-dimensional virtual reality space sharing system in which a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change are connected to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network, the information recording medium recording a computer program comprising the processing steps of: determining an update of the state of the update object controlled by the shared server terminal; and when the state of the update object is updated, notifying each of the plurality of client terminals a message specifying a type of a change sequence of each of the plurality of sub objects corresponding to the updated content of the state of the update object from the shared server terminal; wherein the computer program is stored in the information recording medium in a state readable and executable by the shared server terminal.
In carrying out the invention and according to a sixteenth aspect thereof, there is provided an information recording method for use on a shared server terminal in a three-dimensional virtual reality space sharing system in which a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change are connected to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network, the information recording method recording a computer program comprising of the processing steps of: determining an update of the state of the update object controlled by the shared server terminal; and when the state of the update object is updated, notifying each of the plurality of client terminals a message specifying a type of a change sequence of each of the plurality of sub objects corresponding to the updated content of the state of the update object from the shared server terminal; wherein the computer program is stored in an information recording medium in a state readable and executable by the shared server terminal.
In carrying out the invention and according to a seventeenth aspect thereof, there is provided an information transmission medium for use on a shared server terminal in a three-dimensional virtual reality space sharing system in which a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change are connected to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network, the information transmission medium transmitting a computer program comprising the processing steps of: determining an update of the state of the update object controlled by the shared server terminal; and when the state of the update object is updated, notifying each of the plurality of client terminals a message specifying a type of a change sequence of each of the plurality of sub objects corresponding to the updated content of the state of the update object from the shared server terminal; wherein the computer program is transmitted to the shared server terminal in a state receivable and executable by the same.
In carrying out the invention and according to an eighteenth aspect thereof, there is provided an information transmission method for use on a shared server terminal in a three-dimensional virtual reality space sharing system in which a plurality of client terminals for displaying a three-dimensional virtual reality space including an update object constituted by a plurality of sub objects each of whose state is subject to change are connected to a shared server terminal for controlling a state of the update object on each of the plurality of client terminals via a communication network, the information transmission method transmitting a computer program comprising the processing steps of: determining an update of the state of the update object controlled by the shared server terminal; and when the state of the update object is updated, notifying each of the plurality of client terminals a message specifying a type of a change sequence of each of the plurality of sub objects corresponding to the updated content of the state of the update object from the shared server terminal; wherein the computer program is transmitted to the shared server terminal in a state receivable and executable by the same.
According to the present invention, in the three-dimensional virtual reality sharing method, the system, the information recording medium, the information recording method, the information transmission medium, and the information transmission method, the change sequence of the plurality of sub objects corresponding to the updated content of the state of the update object is stored in each client terminal and the changes sequences in the plurality of client terminals are started in synchronization.
Further, according to the present invention, in the information processing method, the client terminal, the information recording medium, the information recording method, the information transmission medium, and the information transmission method, the change sequence of the plurality of sub objects corresponding to the update content of the state of the update object is stored in a client terminal and started in synchronization with the change sequences stored in other client terminals.
Further, according to the present invention, in the information processing method, the server terminal, the information recording medium, the information recording method, the information transmission medium, and the information transmission method, if a message indicating update of the state of the update object is entered from a specific client terminal via the global communication network, this message is transmitted to other client terminals via the global communication network and, in synchronization with the change sequence of the plurality of sub objects in the specific client terminal, the change sequences of the plurality of sub objects in the other client terminals are started.
The above and other objects, features and advantages of the present invention will become more apparent from the accompanying drawings, in which like reference numerals are used to identify the same or similar parts in several views.